// LoginLogDao.java
package com.aaa.vegetablemarketexpress.dao;

import com.aaa.vegetablemarketexpress.entity.LoginLog;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface LoginLogDao {
    /**
     * 插入登录日志
     * @param loginLog 登录日志对象
     * @return 插入结果
     */
    int insertLoginLog(LoginLog loginLog);

    /**
     * 查询登录日志列表
     * @param loginLog 查询条件
     * @return 登录日志列表
     */
    List<LoginLog> selectLoginLogList(LoginLog loginLog);

    /**
     * 查询登录日志列表(分页)
     * @param loginLog 查询条件
     * @param offset 偏移量
     * @param limit 限制条数
     * @return 登录日志列表
     */
    List<LoginLog> selectLoginLogListByPage(@Param("loginLog") LoginLog loginLog,
                                            @Param("offset") int offset,
                                            @Param("limit") int limit);

    /**
     * 查询登录日志总数
     * @param loginLog 查询条件
     * @return 总数
     */
    int selectLoginLogCount(LoginLog loginLog);

    /**
     * 根据ID查询登录日志
     * @param loginId 登录日志ID
     * @return 登录日志对象
     */
    LoginLog selectLoginLogById(Long loginId);

    /**
     * 批量删除登录日志
     * @param loginIds 登录日志ID数组
     * @return 删除结果
     */
    int deleteLoginLogByIds(Long[] loginIds);

    /**
     * 清空登录日志
     * @return 清空结果
     */
    int cleanLoginLog();
}
